package com.yssoft.mapper.sales;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.yssoft.entity.sales.TSalesOrder;
import com.yssoft.entity.sales.TSalesOrderDetail;

public interface TSalesBillMapper {
	/**
	 * 
	    * @Title: findOrderPage
	    * @Description: 查询销货订单列表（含分页）
	    * @param @param param
	    * @param @return    参数
	    * @return List<Map<String,Object>>    返回类型
	    * @throws
	 */
	List<Map<String, Object>> findOrderPage(Map<String, Object> param);
	/**
	 * @param list 
	 * 
	    * @Title: findOrderDetail
	    * @Description: 查询销货订单详情
	    * @param @param param
	    * @param @return    参数
	    * @return Map<String,Object>    返回类型
	    * @throws
	 */
	List<Map<String, Object>> findOrderMainDetail(@Param("obj")  Map<String, Object> param, @Param("list") List<Map<String, Object>> list);
	/**
	 * 
	    * @Title: findBillDetail
	    * @Description: 查询销货单
	    * @param @param param
	    * @param @return    参数
	    * @return Map<String,Object>    返回类型
	    * @throws
	 */
	List<Map<String, Object>> findBillDetailList(@Param("obj")Map<String, Object> param, @Param("list") List<Map<String, Object>> list);
	/**
	 * 
	    * @Title: findOrderMainDetailList
	    * @Description: 根据订单id查询订单信息
	    * @param @param param
	    * @param @return    参数
	    * @return List<Map<String,Object>>    返回类型
	    * @throws
	 */
	List<Map<String, Object>> findOrderMainDetailList(@Param("obj")Map<String, Object> param,@Param("list") List<Map<String, Object>> list);
	/**
	 * 
	    * @Title: findBillPage
	    * @Description: 查询销货单记录
	    * @param @param param
	    * @param @return    参数
	    * @return List<Map<String,Object>>    返回类型
	    * @throws
	 */
	List<Map<String, Object>> findBillPage(Map<String, Object> param);
	/**
	 * 
	    * @Title: findBillDetail
	    * @Description: 查看明细数据
	    * @param @param param
	    * @param @return    参数
	    * @return Map<String,Object>    返回类型
	    * @throws
	 */
	Map<String, Object> findBillDetail(Map<String, Object> param);
	/**
	 * 
	    * @Title: updateSalesOrderStat
	    * @Description: 更改订单状态
	    * @param @param order    参数
	    * @return void    返回类型
	    * @throws
	 */
	void updateSalesOrderStat(TSalesOrder order);
	/**
	 * 
	    * @Title: updateOutQuantityByOrderDetailId
	    * @Description: TODO更新订单明细的销货数目
	    * @param @param orderDetail    参数
	    * @return void    返回类型
	    * @throws
	 */
	void updateOutQuantityByOrderDetailId(TSalesOrderDetail orderDetail);
	/**
	 * 
	    * @Title: updateOrderDetailSubtotalAmount
	    * @Description: 更新订单明细总金额
	    * @param @param orderId    参数
	    * @return void    返回类型
	    * @throws
	 */
	void updateOrderDetailSubtotalAmount(Integer orderId);
	
	 
	
}
